[INFO] cloning repository https://github.com/letr007/letcode
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/letr007/letcode" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 28982271d749348ac55bc99f2b258f0d3600bf29
[INFO] checking letr007/letcode against master#c290daa1e5274a52e54a0f49e31bd70192abc606 for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fletr007%2Fletcode" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/letr007/letcode
[INFO] finished tweaking git repo https://github.com/letr007/letcode
[INFO] tweaked toml for git repo https://github.com/letr007/letcode written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/letr007/letcode on toolchain c290daa1e5274a52e54a0f49e31bd70192abc606
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/letr007/letcode already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-opentelemetry v0.32.1
[INFO] [stderr]   Downloaded reqwest v0.13.3
[INFO] [stderr]   Downloaded opentelemetry-langfuse v0.6.1
[INFO] [stderr]   Downloaded opentelemetry-otlp v0.31.1
[INFO] [stderr]   Downloaded async-openai-macros v0.3.0
[INFO] [stderr]   Downloaded async-openai v0.38.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1
[INFO] running `Command { std: "docker" "start" "0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking opentelemetry v0.31.0
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking quick-xml v0.39.4
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking prost v0.14.4
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking plist v1.9.0
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking fancy-regex v0.16.2
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]    Compiling async-openai-macros v0.3.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking pulldown-cmark-escape v0.11.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking tracing-opentelemetry v0.32.1
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tonic v0.14.6
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking opentelemetry_sdk v0.31.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tower-http v0.6.10
[INFO] [stderr]     Checking tonic-prost v0.14.6
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking opentelemetry-http v0.31.0
[INFO] [stderr]     Checking opentelemetry-proto v0.31.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking opentelemetry-otlp v0.31.1
[INFO] [stderr]     Checking opentelemetry-langfuse v0.6.1
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.3
[INFO] [stderr]     Checking async-openai v0.38.2
[INFO] [stderr]     Checking letcode v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]     --> src/request_builder.rs:1980:13
[INFO] [stdout]      |
[INFO] [stdout] 1980 |             function_call: None,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]     --> src/request_builder.rs:2303:17
[INFO] [stdout]      |
[INFO] [stdout] 2303 |                 function_call: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]     --> src/request_builder.rs:2323:9
[INFO] [stdout]      |
[INFO] [stdout] 2323 |         function_call: None,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]     --> src/request_builder.rs:1980:13
[INFO] [stdout]      |
[INFO] [stdout] 1980 |             function_call: None,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]     --> src/request_builder.rs:2303:17
[INFO] [stdout]      |
[INFO] [stdout] 2303 |                 function_call: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`
[INFO] [stdout]     --> src/request_builder.rs:2323:9
[INFO] [stdout]      |
[INFO] [stdout] 2323 |         function_call: None,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `protocol_frames` and `runtime_snapshot` are never read
[INFO] [stdout]    --> src/agent.rs:716:5
[INFO] [stdout]     |
[INFO] [stdout] 714 | struct ContextExperimentRestorePoint {
[INFO] [stdout]     |        ----------------------------- fields in this struct
[INFO] [stdout] 715 |     scope: ActiveContextExperiment,
[INFO] [stdout] 716 |     protocol_frames: Vec<crate::protocol_frames::ProtocolFrame>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 717 |     runtime_snapshot: RuntimeSnapshot,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContextExperimentRestorePoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_child` is never used
[INFO] [stdout]    --> src/agent.rs:869:12
[INFO] [stdout]     |
[INFO] [stdout] 868 | impl AgentFactory {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 869 |     pub fn create_child<C: Config + Clone>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/agent.rs:1068:12
[INFO] [stdout]      |
[INFO] [stdout]  926 | impl<C: Config> Agent<C> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1068 |     pub fn session_token_usage(&self) -> Result<TokenUsageEstimate> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1097 |     pub fn tool_scope(&self) -> ToolScope {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1101 |     pub(crate) fn max_tool_calls_limit(&self) -> Option<usize> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1176 |     pub fn restore_session_context(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1193 |     pub fn restore_session_history(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1524 |     pub(super) fn history_items(&self) -> Vec<HistoryItem> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1534 |     pub(super) fn replace_history(&mut self, history: Vec<HistoryItem>) -> Result<()> {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1556 |     fn apply_runtime_compaction(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1574 |     fn prepare_runtime_compaction(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1709 |     fn sync_protocol_caches_from_runtime_snapshot(&mut self) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2045 |     pub async fn run_stream_content_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2348 |     fn next_evidence_sequence(&self) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2399 |     pub async fn compact_session_async<E, Efut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2427 |     async fn run_oai_comp_stream_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2454 |     async fn preflight_compact_context<E, Efut>(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2476 |     fn prune_old_tool_outputs(&mut self, preserve_recent_budget: u64) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_tool_output_string` is never used
[INFO] [stdout]     --> src/agent.rs:3303:4
[INFO] [stdout]      |
[INFO] [stdout] 3303 | fn required_tool_output_string(output: &ToolResult, field: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_tool_output_string` is never used
[INFO] [stdout]     --> src/agent.rs:3320:4
[INFO] [stdout]      |
[INFO] [stdout] 3320 | fn optional_tool_output_string(output: &ToolResult, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_workflow_control_tool` is never used
[INFO] [stdout]     --> src/agent.rs:4097:4
[INFO] [stdout]      |
[INFO] [stdout] 4097 | fn is_workflow_control_tool(tool_name: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_tool_call_name_index` is never used
[INFO] [stdout]     --> src/agent.rs:9531:4
[INFO] [stdout]      |
[INFO] [stdout] 9531 | fn build_tool_call_name_index(history: &[HistoryItem]) -> HashMap<String, String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preflight_compact_context` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub(super) async fn preflight_compact_context<C, E, Efut>(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prune_old_tool_outputs` is never used
[INFO] [stdout]    --> src/agent/compaction.rs:203:15
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub(super) fn prune_old_tool_outputs<C: Config>(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `node_count` is never used
[INFO] [stdout]    --> src/context_tree.rs:228:19
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl ContextTreeState {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub(crate) fn node_count(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `replay` is never used
[INFO] [stdout]    --> src/context_view.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl ContextViewState {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 150 |     pub(crate) fn replay(
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list_summary_artifacts_for_node`, `provider_compacted_block_ids`, and `provider_compacted_folded_outputs` are never used
[INFO] [stdout]    --> src/context_view.rs:452:19
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl ContextViewProjection {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub(crate) fn list_summary_artifacts_for_node(&self, node_id: &str) -> Vec<&SummaryArtifact> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 554 |     pub(crate) fn provider_compacted_block_ids(&self) -> Vec<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 618 |     pub(crate) fn provider_compacted_folded_outputs(&self) -> Vec<&FoldedOutputMetadata> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheMetadataProjection` is never constructed
[INFO] [stdout]   --> src/langfuse_trace.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) struct CacheMetadataProjection {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cache_metadata_projection` is never used
[INFO] [stdout]   --> src/langfuse_trace.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) fn cache_metadata_projection(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_request_budget` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:311:8
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn record_llm_request_budget(span: &Span, budget: &BudgetReport) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_prompt_plan` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub fn record_llm_prompt_plan(span: &Span, prompt_plan: &PromptPlan) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_cache_metadata` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:449:8
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub fn record_llm_cache_metadata(span: &Span, cache: &CacheUsageReport, prompt_plan: &PromptPlan) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_usage` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:517:8
[INFO] [stdout]     |
[INFO] [stdout] 517 | pub fn record_llm_usage(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_cache_metadata_actual_usage` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:758:4
[INFO] [stdout]     |
[INFO] [stdout] 758 | fn record_llm_cache_metadata_actual_usage(span: &Span, cache: &CacheUsageReport) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check` and `check_with_directive` are never used
[INFO] [stdout]    --> src/permission.rs:353:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl PermissionPolicy {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn check(&self, tool: &str, args: &Value) -> PermissionDecision {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn check_with_directive(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restricted_by_directive` is never used
[INFO] [stdout]    --> src/permission.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub fn restricted_by_directive(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LegacyRequestBuilderInput` is never constructed
[INFO] [stdout]    --> src/request_builder.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub struct LegacyRequestBuilderInput<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_request_from_legacy` is never used
[INFO] [stdout]    --> src/request_builder.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn build_request_from_legacy(input: LegacyRequestBuilderInput<'_>) -> Result<BuildResult> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `runtime_frame_kind` is never used
[INFO] [stdout]    --> src/request_builder.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn runtime_frame_kind(item: &ProtocolFrameItem) -> RuntimeFrameKind {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assemble_context_view_sections` is never used
[INFO] [stdout]    --> src/request_builder.rs:921:4
[INFO] [stdout]     |
[INFO] [stdout] 921 | fn assemble_context_view_sections(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingToolCallGroup` is never constructed
[INFO] [stdout]     --> src/request_builder.rs:1423:8
[INFO] [stdout]      |
[INFO] [stdout] 1423 | struct PendingToolCallGroup {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_tool_call_pairs` is never used
[INFO] [stdout]     --> src/request_builder.rs:1428:4
[INFO] [stdout]      |
[INFO] [stdout] 1428 | fn sanitize_tool_call_pairs(items: &mut Vec<HistoryItem>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discard_incomplete_tool_call_group` is never used
[INFO] [stdout]     --> src/request_builder.rs:1485:4
[INFO] [stdout]      |
[INFO] [stdout] 1485 | fn discard_incomplete_tool_call_group(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prelude_to_response_input` is never used
[INFO] [stdout]     --> src/request_builder.rs:1845:4
[INFO] [stdout]      |
[INFO] [stdout] 1845 | fn prelude_to_response_input(message: PromptMessage) -> InputItem {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_history_with_evidence_response` is never used
[INFO] [stdout]     --> src/request_builder.rs:2018:4
[INFO] [stdout]      |
[INFO] [stdout] 2018 | fn append_history_with_evidence_response(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `history_to_response_inputs` is never used
[INFO] [stdout]     --> src/request_builder.rs:2041:4
[INFO] [stdout]      |
[INFO] [stdout] 2041 | fn history_to_response_inputs(item: HistoryItem) -> Vec<InputItem> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_history_with_evidence_chat` is never used
[INFO] [stdout]     --> src/request_builder.rs:2228:4
[INFO] [stdout]      |
[INFO] [stdout] 2228 | fn append_history_with_evidence_chat(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_user_history_index` is never used
[INFO] [stdout]     --> src/request_builder.rs:2249:15
[INFO] [stdout]      |
[INFO] [stdout] 2249 | pub(crate) fn last_user_history_index(history: &[HistoryItem]) -> Option<usize> {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `history_to_chat_message` is never used
[INFO] [stdout]     --> src/request_builder.rs:2258:4
[INFO] [stdout]      |
[INFO] [stdout] 2258 | fn history_to_chat_message(item: HistoryItem) -> ChatCompletionRequestMessage {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retry_delay_from_headers` is never used
[INFO] [stdout]    --> src/retry.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub(crate) fn retry_delay_from_headers(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retry_after_delay_ms` is never used
[INFO] [stdout]    --> src/retry.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub(crate) fn retry_after_delay_ms(headers: &HeaderMap) -> Option<u64> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_explorer`, `run_explorer_governed`, `run_fixer`, and `run_fixer_governed` are never used
[INFO] [stdout]    --> src/subagent.rs:266:18
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl SubagentRuntime {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub async fn run_explorer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub async fn run_explorer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub async fn run_fixer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub async fn run_fixer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `legacy_task_input` is never used
[INFO] [stdout]    --> src/subagent.rs:966:4
[INFO] [stdout]     |
[INFO] [stdout] 966 | fn legacy_task_input(task: String) -> NormalizedSubagentInput {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_context_view`, `with_context_snapshots`, and `with_runtime_snapshot` are never used
[INFO] [stdout]    --> src/tool.rs:489:12
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl ToolExecutionContext {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub fn with_context_view(context_view: Arc<ContextViewProjection>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 501 |     pub fn with_context_snapshots(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 517 |     pub fn with_runtime_snapshot(runtime_snapshot: Arc<RuntimeSnapshot>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/transcript.rs:559:12
[INFO] [stdout]      |
[INFO] [stdout]  440 | impl TranscriptRecorder {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  559 |     pub fn record_context_branch_summary(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  583 |     pub fn record_context_experiment_returned(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  604 |     pub fn record_context_node_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  623 |     pub fn record_context_node_activated(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  627 |     pub fn create_context_node(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  656 |     pub fn activate_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  660 |     pub fn suspend_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  664 |     pub fn terminalize_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  668 |     pub fn record_context_node_lifecycle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  761 |     pub fn record_folded_output_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  823 |     pub fn record_subagent_result(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  895 |     pub fn record_subagent_reconciliation(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1135 |     pub fn record_permission_decision(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1634 |     fn record_context_node_status_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1657 |     fn validate_context_tree_op(&self, op: ContextTreeOp) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_child_session_records` is never used
[INFO] [stdout]     --> src/transcript.rs:2359:8
[INFO] [stdout]      |
[INFO] [stdout] 2359 | pub fn read_child_session_records(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_history` is never used
[INFO] [stdout]     --> src/transcript.rs:2386:8
[INFO] [stdout]      |
[INFO] [stdout] 2386 | pub fn restore_session_history(records: &[TranscriptRecord]) -> Vec<HistoryItem> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_protocol_frames` is never used
[INFO] [stdout]     --> src/transcript.rs:2390:15
[INFO] [stdout]      |
[INFO] [stdout] 2390 | pub(crate) fn restore_session_protocol_frames(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_runtime_snapshot` is never used
[INFO] [stdout]     --> src/transcript.rs:2396:15
[INFO] [stdout]      |
[INFO] [stdout] 2396 | pub(crate) fn restore_runtime_snapshot(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_compacted_conversation_messages` is never used
[INFO] [stdout]     --> src/transcript.rs:2415:8
[INFO] [stdout]      |
[INFO] [stdout] 2415 | pub fn restore_compacted_conversation_messages(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_conversation_messages` is never used
[INFO] [stdout]     --> src/transcript.rs:2424:8
[INFO] [stdout]      |
[INFO] [stdout] 2424 | pub fn restore_conversation_messages(records: &[TranscriptRecord]) -> Vec<ConversationMessage> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_evidence` is never used
[INFO] [stdout]     --> src/transcript.rs:2432:8
[INFO] [stdout]      |
[INFO] [stdout] 2432 | pub fn restore_session_evidence(records: &[TranscriptRecord]) -> Result<Vec<EvidenceRecord>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `session_id`, `messages`, `history`, `evidence`, `latest_model`, and `max_turn_id` are never read
[INFO] [stdout]   --> src/transcript_projection.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) struct SessionRestoreSnapshot {
[INFO] [stdout]    |                   ---------------------- fields in this struct
[INFO] [stdout] 28 |     pub session_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub messages: Vec<ConversationMessage>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 33 |     pub history: Vec<HistoryItem>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 34 |     pub evidence: Vec<EvidenceRecord>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 35 |     pub latest_model: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub max_turn_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionRestoreSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evidence_count` is never used
[INFO] [stdout]   --> src/transcript_projection.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl SessionRestoreSnapshot {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 52 |     pub(crate) fn evidence_count(&self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_session_restore_snapshot` is never used
[INFO] [stdout]   --> src/transcript_projection.rs:66:15
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(crate) fn project_session_restore_snapshot(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_protocol_frames_projection` is never used
[INFO] [stdout]    --> src/transcript_projection.rs:280:15
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub(crate) fn restore_session_protocol_frames_projection(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tiny_attachment_summary` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:553:4
[INFO] [stdout]     |
[INFO] [stdout] 553 | fn tiny_attachment_summary(attachments: &[UserImageAttachment], width: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composer_text_prefix` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:684:4
[INFO] [stdout]     |
[INFO] [stdout] 684 | fn composer_text_prefix(attachments: &[UserImageAttachment], include_trailing_gap: bool) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix_channel` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:834:4
[INFO] [stdout]     |
[INFO] [stdout] 834 | fn mix_channel(from: u8, to: u8, mix_percent: u8) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_tool_card_lines` is never used
[INFO] [stdout]    --> src/tui/components/tool_card.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn render_tool_card_lines(tool: &ToolView, theme: Theme, width: usize) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `visible_transcript_lines` is never used
[INFO] [stdout]    --> src/tui/components/transcript.rs:187:4
[INFO] [stdout]     |
[INFO] [stdout] 187 | fn visible_transcript_lines(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transcript_lines` is never used
[INFO] [stdout]    --> src/tui/components/transcript.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn transcript_lines(state: &TuiState, theme: Theme, width: usize) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_compaction_separator_line` is never used
[INFO] [stdout]     --> src/tui/components/transcript.rs:1132:4
[INFO] [stdout]      |
[INFO] [stdout] 1132 | fn push_compaction_separator_line(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_terminal` is never used
[INFO] [stdout]   --> src/tui/events.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl AppEvent {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 77 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl TokenUsageEvent {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 123 |     pub fn new(used_tokens: u64, context_window_tokens: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `queued`, `text`, and `attachments` are never used
[INFO] [stdout]    --> src/tui/events.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl UserMessageEvent {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 159 |     pub fn new(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn queued(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn attachments(&self) -> &[UserImageAttachment] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl ProcessIssueEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 273 |     pub fn new(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:291:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl ToolStartedEvent {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 291 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl ToolFinishedEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 358 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `approved` is never used
[INFO] [stdout]    --> src/tui/events.rs:419:12
[INFO] [stdout]     |
[INFO] [stdout] 418 | impl PermissionResolutionEvent {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 419 |     pub fn approved(call_id: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MouseClick` is never constructed
[INFO] [stdout]   --> src/tui/input.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum InputAction {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 38 |     MouseClick,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InputAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_at_bottom` is never used
[INFO] [stdout]   --> src/tui/measure.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn is_at_bottom(total_rows: usize, viewport_rows: u16, scroll_offset: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolPresentationContext` is never constructed
[INFO] [stdout]   --> src/tui/presentation.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ToolPresentationContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `summary` are never used
[INFO] [stdout]   --> src/tui/presentation.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ToolPresentationContext {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 30 |     pub fn new(name: impl Into<String>, status: ToolPresentationStatus) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn summary(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tool_presentation` is never used
[INFO] [stdout]   --> src/tui/presentation.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl PresentationPolicy {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 76 |     pub fn tool_presentation(&self, context: &ToolPresentationContext) -> ToolPresentation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_quiet_success` is never used
[INFO] [stdout]    --> src/tui/presentation.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn is_quiet_success(context: &ToolPresentationContext) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ContextTreeUpdated`, `ContextViewUpdated`, `ContextDetailOpened`, `FoldedOutputsUpdated`, and `ContextSummaryUpdated` are never constructed
[INFO] [stdout]    --> src/tui/runner.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub enum RunnerEvent {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 182 |     ContextTreeUpdated(ContextTreeUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     ContextViewUpdated(ContextViewUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     ContextDetailOpened(ContextDetailOpenedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     FoldedOutputsUpdated(FoldedOutputsUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 186 |     ContextSummaryUpdated(ContextSummaryUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RunnerEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `subagent_event_sender`, `new`, `silent_with_transcript`, and `run_internal_prompt` are never used
[INFO] [stdout]    --> src/tui/runner.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl<C: Config> AgentRunner<C> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout] 373 |     pub fn subagent_event_sender(event_tx: RunnerEventSender) -> SubagentEventSender<C>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn new(event_tx: RunnerEventSender) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub fn silent_with_transcript(transcript: Arc<Mutex<TranscriptRecorder>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub async fn run_internal_prompt(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_context_window` are never used
[INFO] [stdout]    --> src/tui/runtime.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl AvailableModel {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 102 |     pub fn new(id: impl Into<String>, label: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn with_context_window(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoopDrawer` is never constructed
[INFO] [stdout]    --> src/tui/runtime.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct NoopDrawer;
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `state_mut`, `submitted_prompts`, `pending_permission_handle`, `into_state`, `pending_permission_belongs_to_parent`, and `run` are never used
[INFO] [stdout]     --> src/tui/runtime.rs:277:12
[INFO] [stdout]      |
[INFO] [stdout]  245 | impl TuiRuntime {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  277 |     pub fn state_mut(&mut self) -> &mut TuiState {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  285 |     pub fn submitted_prompts(&self) -> &[String] {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  289 |     pub fn pending_permission_handle(&self) -> Option<&RunnerPermissionRequest> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  534 |     pub fn into_state(self) -> TuiState {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  904 |     fn pending_permission_belongs_to_parent(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1322 |     pub fn run<D: RuntimeDrawer>(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_context_snapshot` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2613:4
[INFO] [stdout]      |
[INFO] [stdout] 2613 | fn active_context_snapshot(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_dialog_items` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2751:4
[INFO] [stdout]      |
[INFO] [stdout] 2751 | fn context_dialog_items(context: &super::state::ContextPaneState) -> Vec<DialogItem> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_detail_dialog` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2871:4
[INFO] [stdout]      |
[INFO] [stdout] 2871 | fn context_detail_dialog(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_output_visible` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2986:4
[INFO] [stdout]      |
[INFO] [stdout] 2986 | fn folded_output_visible(context: &super::state::ContextPaneState, output_id: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_node_depth` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2996:4
[INFO] [stdout]      |
[INFO] [stdout] 2996 | fn context_node_depth(tree: &crate::context_tree::ContextTreeState, node_id: &str) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_block_status_labels` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3014:4
[INFO] [stdout]      |
[INFO] [stdout] 3014 | fn context_block_status_labels(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_source_label` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3041:4
[INFO] [stdout]      |
[INFO] [stdout] 3041 | fn block_source_label(block: &crate::context_view::ContextBlock) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_block_detail_lines` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3049:4
[INFO] [stdout]      |
[INFO] [stdout] 3049 | fn context_block_detail_lines(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `folded_output_detail_lines` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3080:4
[INFO] [stdout]      |
[INFO] [stdout] 3080 | fn folded_output_detail_lines(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `truncate_dialog_text` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3096:4
[INFO] [stdout]      |
[INFO] [stdout] 3096 | fn truncate_dialog_text(text: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pending`, `handle`, and `child_session_id` are never used
[INFO] [stdout]   --> src/tui/runtime/permission_lifecycle.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl PermissionLifecycleController {
[INFO] [stdout]    | ---------------------------------- methods in this implementation
[INFO] [stdout] 24 |     pub(crate) fn pending(&self) -> Option<&PendingPermission> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub(crate) fn handle(&self) -> Option<&RunnerPermissionRequest> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub(crate) fn child_session_id(&self) -> Option<&str> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `dispatched_prompt`, `is_accepted`, and `failed_after_accept` are never used
[INFO] [stdout]   --> src/tui/runtime/queued_prompt.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl QueuedPromptLifecycle {
[INFO] [stdout]    | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn dispatched_prompt(&self) -> Option<&str> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub(crate) fn is_accepted(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub(crate) fn failed_after_accept(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Info` is never constructed
[INFO] [stdout]   --> src/tui/state.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub enum ToastKind {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 93 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToastKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ticks_remaining` is never used
[INFO] [stdout]    --> src/tui/state.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl ToastState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn ticks_remaining(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/tui/state.rs:1179:12
[INFO] [stdout]      |
[INFO] [stdout]  883 | impl TuiState {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1179 |     pub fn remove_composer_attachment(&mut self, attachment_id: &str) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1228 |     pub fn transcript_scroll_offset(&self) -> u16 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1268 |     pub fn transcript_is_at_bottom(&self, total_rows: usize, viewport_rows: u16) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1282 |     pub fn scroll_transcript_page_up(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1286 |     pub fn scroll_transcript_page_down(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1336 |     pub fn replace_session_timeline(&mut self, messages: Vec<ConversationMessage>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1347 |     pub fn replace_session_timeline_from_records(&mut self, records: &[TranscriptRecord]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1352 |     pub fn try_replace_session_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1407 |     pub fn replace_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1427 |     pub fn try_replace_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1508 |     pub fn refresh_child_timeline_from_records(&mut self, records: &[TranscriptRecord]) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1513 |     pub fn try_refresh_child_timeline_from_records(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1774 |     fn on_user_message(&mut self, message: UserMessageEvent) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_child_timeline_state` is never used
[INFO] [stdout]     --> src/tui/state.rs:2482:4
[INFO] [stdout]      |
[INFO] [stdout] 2482 | fn project_child_timeline_state(records: &[TranscriptRecord]) -> Result<ChildTranscriptState> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_context_pane` is never used
[INFO] [stdout]     --> src/tui/state.rs:2496:4
[INFO] [stdout]      |
[INFO] [stdout] 2496 | fn project_context_pane(records: &[TranscriptRecord]) -> Result<ContextPaneState> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMPT_BORDER_GLYPH` is never used
[INFO] [stdout]   --> src/tui/surface.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const PROMPT_BORDER_GLYPH: &str = "┃";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARD_PAD_LEFT` is never used
[INFO] [stdout]   --> src/tui/surface.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const CARD_PAD_LEFT: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSISTANT_PAD_LEFT` is never used
[INFO] [stdout]   --> src/tui/surface.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const ASSISTANT_PAD_LEFT: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Panel` is never constructed
[INFO] [stdout]   --> src/tui/surface.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum SurfaceKind {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 30 |     Root,
[INFO] [stdout] 31 |     Panel,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/tui/surface.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum SurfaceEmphasis {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Reasoning,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 39 |     Assistant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 40 |     User,
[INFO] [stdout] 41 |     ToolPending,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 42 |     ToolSuccess,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     ToolError,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 44 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     Activity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceEmphasis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elevated_title_style` is never used
[INFO] [stdout]   --> src/tui/surface.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn elevated_title_style(theme: Theme) -> Style {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dim_style` is never used
[INFO] [stdout]   --> src/tui/surface.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn dim_style(theme: Theme) -> Style {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `terminal` is never used
[INFO] [stdout]    --> src/tui/terminal.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl OwnedTerminal {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn terminal(&self) -> &TuiTerminal {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/tui/theme.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Theme {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn surface_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn border_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn title_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn dim_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn assistant_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn success_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn warning_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `blocks` is never used
[INFO] [stdout]   --> src/tui/timeline.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl TimelineItem {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 33 |     pub fn blocks(&self) -> Vec<DisplayBlock> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DisplayBlock` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub enum DisplayBlock {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_text` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:242:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl MessageView {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 242 |     pub fn display_text(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl ToolExecutionStatus {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 299 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:380:12
[INFO] [stdout]     |
[INFO] [stdout] 379 | impl PermissionPromptStatus {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 380 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_conversation`, and `active_tool` are never used
[INFO] [stdout]    --> src/tui/timeline.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl Timeline {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 428 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |     pub fn from_conversation(messages: Vec<ConversationMessage>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 972 |     pub fn active_tool(&self) -> Option<&ToolView> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/agent/protocol_stream.rs:1921:13
[INFO] [stdout]      |
[INFO] [stdout] 1921 |         let span = tracing::info_span!("group_16_same_build");
[INFO] [stdout]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_stream_content_async` and `next_evidence_sequence` are never used
[INFO] [stdout]     --> src/agent.rs:2045:18
[INFO] [stdout]      |
[INFO] [stdout]  926 | impl<C: Config> Agent<C> {
[INFO] [stdout]      | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2045 |     pub async fn run_stream_content_async<F, E, A, Dfut, Efut, Afut>(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2348 |     fn next_evidence_sequence(&self) -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `required_tool_output_string` is never used
[INFO] [stdout]     --> src/agent.rs:3303:4
[INFO] [stdout]      |
[INFO] [stdout] 3303 | fn required_tool_output_string(output: &ToolResult, field: &str) -> Result<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optional_tool_output_string` is never used
[INFO] [stdout]     --> src/agent.rs:3320:4
[INFO] [stdout]      |
[INFO] [stdout] 3320 | fn optional_tool_output_string(output: &ToolResult, field: &str) -> Result<Option<String>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_workflow_control_tool` is never used
[INFO] [stdout]     --> src/agent.rs:4097:4
[INFO] [stdout]      |
[INFO] [stdout] 4097 | fn is_workflow_control_tool(tool_name: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_tool_call_name_index` is never used
[INFO] [stdout]     --> src/agent.rs:9531:4
[INFO] [stdout]      |
[INFO] [stdout] 9531 | fn build_tool_call_name_index(history: &[HistoryItem]) -> HashMap<String, String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `provider_compacted_block_ids` and `provider_compacted_folded_outputs` are never used
[INFO] [stdout]    --> src/context_view.rs:554:19
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl ContextViewProjection {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 554 |     pub(crate) fn provider_compacted_block_ids(&self) -> Vec<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 618 |     pub(crate) fn provider_compacted_folded_outputs(&self) -> Vec<&FoldedOutputMetadata> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_request_budget` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:311:8
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn record_llm_request_budget(span: &Span, budget: &BudgetReport) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_prompt_plan` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub fn record_llm_prompt_plan(span: &Span, prompt_plan: &PromptPlan) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_cache_metadata` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:449:8
[INFO] [stdout]     |
[INFO] [stdout] 449 | pub fn record_llm_cache_metadata(span: &Span, cache: &CacheUsageReport, prompt_plan: &PromptPlan) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_usage` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:517:8
[INFO] [stdout]     |
[INFO] [stdout] 517 | pub fn record_llm_usage(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_llm_cache_metadata_actual_usage` is never used
[INFO] [stdout]    --> src/langfuse_trace.rs:758:4
[INFO] [stdout]     |
[INFO] [stdout] 758 | fn record_llm_cache_metadata_actual_usage(span: &Span, cache: &CacheUsageReport) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingToolCallGroup` is never constructed
[INFO] [stdout]     --> src/request_builder.rs:1423:8
[INFO] [stdout]      |
[INFO] [stdout] 1423 | struct PendingToolCallGroup {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_tool_call_pairs` is never used
[INFO] [stdout]     --> src/request_builder.rs:1428:4
[INFO] [stdout]      |
[INFO] [stdout] 1428 | fn sanitize_tool_call_pairs(items: &mut Vec<HistoryItem>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discard_incomplete_tool_call_group` is never used
[INFO] [stdout]     --> src/request_builder.rs:1485:4
[INFO] [stdout]      |
[INFO] [stdout] 1485 | fn discard_incomplete_tool_call_group(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prelude_to_response_input` is never used
[INFO] [stdout]     --> src/request_builder.rs:1845:4
[INFO] [stdout]      |
[INFO] [stdout] 1845 | fn prelude_to_response_input(message: PromptMessage) -> InputItem {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_history_with_evidence_response` is never used
[INFO] [stdout]     --> src/request_builder.rs:2018:4
[INFO] [stdout]      |
[INFO] [stdout] 2018 | fn append_history_with_evidence_response(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `history_to_response_inputs` is never used
[INFO] [stdout]     --> src/request_builder.rs:2041:4
[INFO] [stdout]      |
[INFO] [stdout] 2041 | fn history_to_response_inputs(item: HistoryItem) -> Vec<InputItem> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_history_with_evidence_chat` is never used
[INFO] [stdout]     --> src/request_builder.rs:2228:4
[INFO] [stdout]      |
[INFO] [stdout] 2228 | fn append_history_with_evidence_chat(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_user_history_index` is never used
[INFO] [stdout]     --> src/request_builder.rs:2249:15
[INFO] [stdout]      |
[INFO] [stdout] 2249 | pub(crate) fn last_user_history_index(history: &[HistoryItem]) -> Option<usize> {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `history_to_chat_message` is never used
[INFO] [stdout]     --> src/request_builder.rs:2258:4
[INFO] [stdout]      |
[INFO] [stdout] 2258 | fn history_to_chat_message(item: HistoryItem) -> ChatCompletionRequestMessage {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `required` is never read
[INFO] [stdout]    --> src/retry.rs:392:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |     struct TestMissingField {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 392 |         required: u32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestMissingField` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]    --> src/retry.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 396 |     struct TestEnumHolder {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 397 |         kind: TestEnum,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestEnumHolder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `run_explorer`, `run_explorer_governed`, `run_fixer`, and `run_fixer_governed` are never used
[INFO] [stdout]    --> src/subagent.rs:266:18
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl SubagentRuntime {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub async fn run_explorer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub async fn run_explorer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub async fn run_fixer<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub async fn run_fixer_governed<C: Config + Clone + Send + Sync + 'static>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `legacy_task_input` is never used
[INFO] [stdout]    --> src/subagent.rs:966:4
[INFO] [stdout]     |
[INFO] [stdout] 966 | fn legacy_task_input(task: String) -> NormalizedSubagentInput {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_context_view` and `with_context_snapshots` are never used
[INFO] [stdout]    --> src/tool.rs:489:12
[INFO] [stdout]     |
[INFO] [stdout] 478 | impl ToolExecutionContext {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub fn with_context_view(context_view: Arc<ContextViewProjection>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 501 |     pub fn with_context_snapshots(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/transcript.rs:559:12
[INFO] [stdout]      |
[INFO] [stdout]  440 | impl TranscriptRecorder {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  559 |     pub fn record_context_branch_summary(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  604 |     pub fn record_context_node_created(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  623 |     pub fn record_context_node_activated(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  627 |     pub fn create_context_node(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  656 |     pub fn activate_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  660 |     pub fn suspend_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  664 |     pub fn terminalize_context_node(&mut self, node_id: impl Into<String>) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  668 |     pub fn record_context_node_lifecycle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  761 |     pub fn record_folded_output_metadata(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1135 |     pub fn record_permission_decision(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1634 |     fn record_context_node_status_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1657 |     fn validate_context_tree_op(&self, op: ContextTreeOp) -> Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_session_protocol_frames` is never used
[INFO] [stdout]     --> src/transcript.rs:2390:15
[INFO] [stdout]      |
[INFO] [stdout] 2390 | pub(crate) fn restore_session_protocol_frames(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session_id` is never read
[INFO] [stdout]   --> src/transcript_projection.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) struct SessionRestoreSnapshot {
[INFO] [stdout]    |                   ---------------------- field in this struct
[INFO] [stdout] 28 |     pub session_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionRestoreSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evidence_count` is never used
[INFO] [stdout]   --> src/transcript_projection.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl SessionRestoreSnapshot {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 52 |     pub(crate) fn evidence_count(&self) -> usize {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record` is never used
[INFO] [stdout]     --> src/transcript_projection.rs:2381:8
[INFO] [stdout]      |
[INFO] [stdout] 2381 |     fn record(event: TranscriptEvent) -> TranscriptRecord {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tiny_attachment_summary` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:553:4
[INFO] [stdout]     |
[INFO] [stdout] 553 | fn tiny_attachment_summary(attachments: &[UserImageAttachment], width: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `composer_text_prefix` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:684:4
[INFO] [stdout]     |
[INFO] [stdout] 684 | fn composer_text_prefix(attachments: &[UserImageAttachment], include_trailing_gap: bool) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mix_channel` is never used
[INFO] [stdout]    --> src/tui/components/composer.rs:834:4
[INFO] [stdout]     |
[INFO] [stdout] 834 | fn mix_channel(from: u8, to: u8, mix_percent: u8) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_compaction_separator_line` is never used
[INFO] [stdout]     --> src/tui/components/transcript.rs:1132:4
[INFO] [stdout]      |
[INFO] [stdout] 1132 | fn push_compaction_separator_line(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_terminal` is never used
[INFO] [stdout]   --> src/tui/events.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl AppEvent {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 77 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `text` and `attachments` are never used
[INFO] [stdout]    --> src/tui/events.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl UserMessageEvent {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn attachments(&self) -> &[UserImageAttachment] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tui/events.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl ProcessIssueEvent {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 273 |     pub fn new(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ContextTreeUpdated`, `ContextViewUpdated`, `ContextDetailOpened`, `FoldedOutputsUpdated`, and `ContextSummaryUpdated` are never constructed
[INFO] [stdout]    --> src/tui/runner.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub enum RunnerEvent {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 182 |     ContextTreeUpdated(ContextTreeUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     ContextViewUpdated(ContextViewUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     ContextDetailOpened(ContextDetailOpenedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     FoldedOutputsUpdated(FoldedOutputsUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 186 |     ContextSummaryUpdated(ContextSummaryUpdatedEvent),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RunnerEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `subagent_event_sender` and `silent_with_transcript` are never used
[INFO] [stdout]    --> src/tui/runner.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 372 | impl<C: Config> AgentRunner<C> {
[INFO] [stdout]     | ------------------------------ associated functions in this implementation
[INFO] [stdout] 373 |     pub fn subagent_event_sender(event_tx: RunnerEventSender) -> SubagentEventSender<C>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     pub fn silent_with_transcript(transcript: Arc<Mutex<TranscriptRecorder>>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoopDrawer` is never constructed
[INFO] [stdout]    --> src/tui/runtime.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct NoopDrawer;
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_state`, `pending_permission_belongs_to_parent`, and `run` are never used
[INFO] [stdout]     --> src/tui/runtime.rs:534:12
[INFO] [stdout]      |
[INFO] [stdout]  245 | impl TuiRuntime {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  534 |     pub fn into_state(self) -> TuiState {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  904 |     fn pending_permission_belongs_to_parent(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1322 |     pub fn run<D: RuntimeDrawer>(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_context_snapshot` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2613:4
[INFO] [stdout]      |
[INFO] [stdout] 2613 | fn active_context_snapshot(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_dialog_items` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2751:4
[INFO] [stdout]      |
[INFO] [stdout] 2751 | fn context_dialog_items(context: &super::state::ContextPaneState) -> Vec<DialogItem> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `context_node_depth` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:2996:4
[INFO] [stdout]      |
[INFO] [stdout] 2996 | fn context_node_depth(tree: &crate::context_tree::ContextTreeState, node_id: &str) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_source_label` is never used
[INFO] [stdout]     --> src/tui/runtime.rs:3041:4
[INFO] [stdout]      |
[INFO] [stdout] 3041 | fn block_source_label(block: &crate::context_view::ContextBlock) -> &'static str {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pending` is never used
[INFO] [stdout]   --> src/tui/runtime/permission_lifecycle.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl PermissionLifecycleController {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] 24 |     pub(crate) fn pending(&self) -> Option<&PendingPermission> {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Info` is never constructed
[INFO] [stdout]   --> src/tui/state.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub enum ToastKind {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 93 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToastKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_composer_attachment`, `scroll_transcript_page_up`, `scroll_transcript_page_down`, `replace_session_timeline`, and `on_user_message` are never used
[INFO] [stdout]     --> src/tui/state.rs:1179:12
[INFO] [stdout]      |
[INFO] [stdout]  883 | impl TuiState {
[INFO] [stdout]      | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1179 |     pub fn remove_composer_attachment(&mut self, attachment_id: &str) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1282 |     pub fn scroll_transcript_page_up(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1286 |     pub fn scroll_transcript_page_down(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1336 |     pub fn replace_session_timeline(&mut self, messages: Vec<ConversationMessage>) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1774 |     fn on_user_message(&mut self, message: UserMessageEvent) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMPT_BORDER_GLYPH` is never used
[INFO] [stdout]   --> src/tui/surface.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const PROMPT_BORDER_GLYPH: &str = "┃";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARD_PAD_LEFT` is never used
[INFO] [stdout]   --> src/tui/surface.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const CARD_PAD_LEFT: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSISTANT_PAD_LEFT` is never used
[INFO] [stdout]   --> src/tui/surface.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const ASSISTANT_PAD_LEFT: u16 = 3;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Panel` is never constructed
[INFO] [stdout]   --> src/tui/surface.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum SurfaceKind {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 30 |     Root,
[INFO] [stdout] 31 |     Panel,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/tui/surface.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum SurfaceEmphasis {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Reasoning,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 39 |     Assistant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 40 |     User,
[INFO] [stdout] 41 |     ToolPending,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 42 |     ToolSuccess,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     ToolError,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 44 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     Activity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SurfaceEmphasis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elevated_title_style` is never used
[INFO] [stdout]   --> src/tui/surface.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn elevated_title_style(theme: Theme) -> Style {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dim_style` is never used
[INFO] [stdout]   --> src/tui/surface.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn dim_style(theme: Theme) -> Style {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `terminal` is never used
[INFO] [stdout]    --> src/tui/terminal.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl OwnedTerminal {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn terminal(&self) -> &TuiTerminal {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/tui/theme.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Theme {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn surface_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn border_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn title_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn dim_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn assistant_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn success_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn warning_style(self) -> Style {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `blocks` is never used
[INFO] [stdout]   --> src/tui/timeline.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl TimelineItem {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 33 |     pub fn blocks(&self) -> Vec<DisplayBlock> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DisplayBlock` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub enum DisplayBlock {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_text` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:242:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl MessageView {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 242 |     pub fn display_text(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl ToolExecutionStatus {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 299 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:380:12
[INFO] [stdout]     |
[INFO] [stdout] 379 | impl PermissionPromptStatus {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 380 |     pub fn label(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_conversation` is never used
[INFO] [stdout]    --> src/tui/timeline.rs:432:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl Timeline {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 432 |     pub fn from_conversation(messages: Vec<ConversationMessage>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 45s
[INFO] running `Command { std: "docker" "inspect" "0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1", kill_on_drop: false }`
[INFO] [stdout] 0f9b98e25c17d06e23db232a2d64fbd5a95a157d08b597c7f56ccad4009a63c1
